CONTENTS 0 ①② 3 オリエンテーション JavaScript の過去・現在・未来 JavaSc 「 ipt プログラミングに必要なもの 本書の使い方 XVI はじめての JavaScript 1 2 1 時限目 He110, world! 日付と時間 2 時限目 変数・配列・オプジェクト・関数 変数と配列 1 時限目 オブジェクト 2 時限目 関数 3 時限目 0 0 8 2 3 3 ロ OM を使う 1 時限目 DOM と HTML 2 時限目ノードを作る 3 時限目ノードを削除する 45 6 2 0 4 5 6
0 ⑨ 0 ② 0 JavaScript で計算をする 67 1 時限目数値と文字列 2 時限目数値の計算 68 76 CSS と JavaScript 1 時限目 CSS とは 2 時限目 HTML 要素の表示 / 非表示の切り替え 3 時限目 HTML 要素の大きさを変える 85 6 8 4 8 9 0 JavaScript プログラミングの新しいスタイル 1 時限目じゃまにならない JavaSc 「 ipt 2 時限目オブジェクト指向 JavaSc 「 ipt 1 09 ・・・ 1 1 0 ・・・ 1 20 総合制作 I 1 時限目簡単なデータベース 2 時限目プルダウンメニュー形式のフォトアルバム 1 35 ・・ 1 36 ・・ 148 Ajax の基本 1 57 1 時限目 Ajax のしくみ 2 時限目簡単な Ajax ・・ 1 58 ・ 1 64
JavaScript ライプラリ 1 時限目 Prototype 2 時限目 Dojo 3 時限目 jQuery 総合制作Ⅱ 1 時限目住所入力の自動補完 ~ Web サービスと JSONP 2 時限目 JSONP を使ったマッシュアップ ~ 楽天十価格.com 0 索引 0 1 75 ・ 176 1 88 ・ 1 98 209 21 0 220 234
:selected 205 :submit 80 205 backg 「 ound 91 , 93 . text body 要素→ document. body 80 :visible 204 49 Boo an オブジェクト 82 ワ・ 232 33 82 @impo 「 t 90, い 6 bo 「 de 「 9 1 , 96 58 [att 「 ibute] 204 b otto m left 93 [att 「 ibute!=value] 203 204 bottom 「 ight 93 [att 「 ibute$=value] $ ( ) (jQuery) 203 204 [att 「 ibute*=value] $ ( ) (P 「 ototype) ] 83 [att 「 ibuteA=value] ca Ⅱオブジェクト 1 84 204 42 [att 「 ibute=value] $ (document) . 「 eady ( ) 207 204 camelCase 25 [selecto 「 1 ] Cselecto 「 2] [selecto 「 N] catch ( ) $ each ( ) 208 65 $. getJSON ( ) 208 204 93 cente 「 ] 84 1 1 8 childNodes 49 69 Class ℃「 eate ( ) $SUPe 「 ] 79 ] 78 69 click ( ) 82 207 204 69 COIO 「 . animated ] 96 button 205 70 Colo 「 Palette 70 concat ( ) 205 VD 27 ℃ heckbox ℃ hecked 205 69 36 const 「 uctO 「 :contains (text) 69 c 「 eate 曰 ement ( ) 56 204 69 c 「 eateTextNode ( ) disabled 205 56 70 CSS 86 204 . empty 70 CSS を使ったデザインテーマ :enabled 205 VS ] 96 69 css ファイル 90 204 70 Cu 「「 encyTextBox 1 96 204 :even 205 8 進数 204 fi 「 st ] O 進数 73 DateTextBox ] 95 :fi 「 st-child 205 ・ gt (index) 73 Date オブジェクト 16 進数 204 ・ has (selecto 「 ) DHTML 46 Dialog ] 96 :heade 「 :hidden ( 可視性によるフィルタ ) 204 action 属性 158 Dijit ] 95 ActiveXObject ( ) 160 Dijit at a GIance ・ hidden ( フォーム要素 ) ] 96 205 ActiveX オブジェクト 159 display 102 205 :lmage addClassName ( ) d ⅳ要素 ] 76 94 205 :input 1 58 document 47 204 Ajax :last Ajax. Request ( ) 1 76 document. bOdy 49 205 :last-child document. get 曰 ementById ( ) 1 4 :lt (index) Ajax ライブラリ 204 → get 曰 ementById ( ) not (selecto 「 ) → JavaSc 「 ipt ライブラリ 1 75 48 204 :nth-child (index/even/odd/equation) ale 「 t ( ) 5 , 7 document. get 曰 ementsByTagName ( ) append ( ) → get 曰 ementsByTagName ( ) 207 205 appendChiId ( ) 56 48 , 102 204 appendTo ( ) 207 DOjO ] 88 205 39 DOjO CO 「 e ] 88 204 a 「 guments 25 dOjO. addOnLoad ( ) 1 95 205 33 dOjO. byld ( ) A 「「 ay オブジェクト 195 205 d0j0. decla 「 e ( ) att 「 ( ) 206 205 ] 88 十 記号・数字 :odd :only-child . pa 「 ent :passwo 「 d : 「 adiO : 「 eset
索引 1 60 ] 60 144 74 Mic 「 osoft.XMLHTTP 58 MochiKit 58 moo. fX 1 61 . 1 74 M00T00 69 Msxm12. XMLHTTP 1 4 , 144 MySQL NaN NEGATIVE INFINITY 1 79 Netflix 20 new 175 nextSibIing 28 nodeValue ] 98 no- 「 epeat 203 null Numbe 「 ( ) 1 99 Numbe 「オブジェクト 208 208 147 , Object ( ) 1 6 ] , 2 い , 2 1 7 onabo 「 t onb 旧「 64 onchange onclick 27 , ] 53 onclick プロバティ 90, ] ] 6 25 ondblclick one 「「 0 「 onfocus ] 55 onkeydown 9 1 , 96 onkeyp 「 ess 97 onkeyup 72 onload 80 onmousedown 33 , 80 onmousemove 80 onmouseout 33 , 80 onmouseove 「 80 onmouseup 80 on 「 eadystatechange 80 on 「 eset on 「 eslze 33 , 8 1 onselect 80 onsubmit 80 onunload 田 open ( ) option 要素 33 , 80 80 padding pa 「 entNode pa 「 seFIoat ( ) 33 , 81 80 pa 「 selnt ( ) 80 pop ( ) 8 1 POSITIVE INFINITY 33 p 「 epend ( ) 旧 EE754 形式 230 if-else 文 230 if 文 1 95 if 「 ame 要素 1 94 46 indexOf ( ) ix, 46 inne 「 HTML insertBefo 「 e ( ) isNaN ( ) 196 JavaSc 「 ipt 2. O 2 い , 21 6 javasc 「 ipt: 33 JavaSc 「 ipt ライブラリ join ( ) 1 70 jQue 「 y ] 86 33 jQue 「 y ( ) 72 jQue 「 Y IJI jQuery. ajax ( ) jQuery. getJSON ( ) xiv, 20 JSON 64 JSONP 93 lastChild 231 103 length 23 link 要素 lowe ℃ amelCase 50 m ( 正規表現のフラグ ) 1 7 ma 「 gln 1 8 ma 「 gin-top 48 match ( ) Math. abs ( ) Math ℃ eil ( ) 48 , 1 02 1 7 Math. cos ( ) 1 7 Math. E 1 7 Math. exp ( ) 1 7 Math. 利00 「 ( ) 1 8 Math. LN 1 0 1 7 Math. LN2 Math.Iog ( ) ] 58 Math. LOGI OE ] 62 Math. LOG2E Math. max (a,b) 36 Math. min (a,b) Math. PI 91 , 108 Math. 「 andom ( ) 206 刈 Math. 「 ound ( ) 65 Math. sin ( ) Math. sqrt ( ) XIII Math. SQRTI 2 1 58 Math. SQRT2 Math. tan ( ) Math オプジェクト 155 dOjO. iO. sc 「 ipt dOjO. iO. sc 「 ipt. get ( ) dOjO. que 「 Y ( ) dOjO. 「 equi 「 e ( ) DOM API DOM スクリプティング Edito 「 else if 文 em encodeURl ( ) E 「「 o 「オブジェクト eva ば ) evalJSON ( ) Event オブジェクト exec ( ) Fi 「 ebug fi 「 stChild fixed float fO 「 -in 文 fo 「文 Function ( ) g ( 正規表現のフラグ ) getAtt 「 ibute ( ) getDate ( ) getDay ( ) get 曰 ementById ( ) get 曰 ementsByTagName ( ) getFuIlYea 「 ( ) getHou 「 s ( ) getMinutes ( ) getMonth ( ) getUTCDay ( ) getUTCFuIlYea 「 ( ) GET メソッド GoogIe マップ hasOwnP 「 ope 「 ty ( ) height html() HTML5 HTML DOM API HTML 工デイタ HTTP プロトコル 2 4 2 5 4 9 3 8 2 4 7 7 6 1 6 4 9 5 7 7 CD 8 広 ) 3 0 3 8 9 2 8 6 8 8 4 8 8 8 6 8 8 8 8 8 1 9 9 9 9 9 0 2 ( 0 5 0 0 6 L.O 8 2 8 8 8 8 8 8 6 4 4 4 7 4 7 9 6 7 7 2 7 0 2 9 i ( 正規表現のフラグ )
p 「 ependTo ( ) P 「 0t0type ( オプジェクト ) P 「 ototype ( ライブラリ ) P 「 OXY pt PUSh() PX RDBMS 「 eadyState 「 eadystatechange イベント RegExp ( ) 日 egExp オブジェクト 「 emove ( ) 「 emoveChild ( ) 「 epeat-x 「 epeat-y 「 eplace ( ) 「 esponseText 「 esponseXML 「 etu 「 n 「 etu 「 n false 「 eve 「 se ( ) RGB 値 RiCO Sc 「 iptaculous sea 「 ch ( ) selectedlndex select 要素 send ( ) setAtt 「 ibute ( ) setRequestHeade 「 ( ) show ( ) slice ( ) so 「 t ( ) span 要素 SQL status St 「 ing ( ) St 「 ing オブジェクト style style 要素 submit7fi タン subst 「 ing ( ) switch 文 text ( ) this this. fO 「 rn TimeTextBox toDateSt 「 ing ( ) toFixed (n) 207 33 toLocaIeDateSt 「 ing ( ) toLocaIeSt 「 ing ( ) 176 toLocaIeTimeSt 「 ing ( ) ] 6 1 9 1 tOP 「 ight tOSt 「 ing ( ) 27 , ] 43 toTimeSt 「 ing ( ) 9 1 t 「 y-catch 文 144 typeof ] 43 undefined 33 , 70 Uppe ℃ ameICase U 工ンコード 207 64 UTF-8 93 ] 56 value valueOf ( ) 159 159 va 「 40 28 W8C 92 Web API Web サービス x, ] 77 WHATSWG width x, 1 77 window. onload 155 → onload window オプジェクト ] 52 ] 52 50 X-JSON ヘッダ 1 60 XML XMLHttpRequest オプジェクト 1 76 29 28 XML 文書 95 XPath 144 XSLT 160 33 Yahoo! げ 102 90, ] 58 イベント 69 引用符 83 インラインフレーム インライン要素 工スケープシーケンス 3 1 , 63 工スケープ文字 143 工ンコード ] 96 1 8 演算誤差 74 演算子 1 8 1 8 オブジェクト型 93 オブジェクト検知 親ノード 1 6 , 74 返し値 65 , い 9 22 価格℃ om API JSONP 隠しフレーム カスタムオブジェクト カプセル化 1 4 , 22 25 仮引数 関数 2 ] 6 169 関数型 XII, 関数リテラル 1 6 キー 1 4 疑似プロトコル 刈 クラス 2 ] O クラス継承 クロージャ 2 1 0 刈 グローバルオブジェクト グローバルスコープの汚染 91 , 108 グローバル変数 ] 52 9 クロスプラウザ 42 け 継承 (CSS) 継承 ( オブジェクト ) 1 85 1 59 コア DOM API 86 後方互換性 コールバック関数 203 86 子ノード コメント コンストラクタ サーバーサイドスクリプト言五 147 4 サプクラス 37 59 差分プログラミング 23 ] 三項演算子 1 74 232 95 参日刀 23 68 式 68 識別子 指数 21 1 8 ] 実行コンテクスト 80 お 23 ] 1 8 47 か 40 229 1 74 32 1 20, 1 2 1 39 7 23 22 IJ き 29 20 く 37 37 , 1 78 ] 32 42 1 20 4 ] 1 72 97 35 65 ] 60 1 6 1 47 5 30 い さ し 2 4 4 2 2 2 7 4 4
索引 文字列リテラル 戻り値 ユーザー定義オブジェクト 郵便番号検索 JSONP 173 , 216 , 230 25 ユ二コード 22 , 25 97 要素 29 要素ノード 予約語 9 1 ライブラリ→ JavaSc 「 ipt ライブラリ 158 175 楽天ウエプサービス 32 227 145 リテラル 22 リレーショナルデータベース 204 ] 44 22 22 例外 74 例外処理 レコード ⅱ 8 連想配列 1 99 7 ローカル変数 95 論理演算子 37 論理式 9 1 80 6 実行文 じゃまにならない JavaSc 「 ipt 条件式 数値型 数値リテラル スーパークラス スコープ スコープチェーン スタイルシート ステートメント ひ 引数 ピクセル 正規表現 70, 143 , 1 55 正規表現リテラル 非同期処理 1 43 9 1 ビルトインオブジェクト セレクタ 言 (CSS) 宣言 ( 変数 ) フィールド フィルタ 50 ブール型 フォーム 複合型 ダイナミック HTML 46 浮動小数点 ブラウザ検知 ダイナミック sc 「 ipt タグ ] 6 1, 2 1 1 23 プラグイン (jQue 「 y) 代入 プリミティフ型 多態性 1 29 プロキシ プロック プロック要素 1 63 プロトタイプ継承 プロバティ (CSS) プロバティ ( オブジェクト ) ] 3 , 47 文 データ型 変数 データベース ] 36 , 144 テーブル 145 テキストノード 80 ポイント テキストボックス ボックスモデル ポリモーフィズム 同一ドメイン制限 同一文書内リンク 無名関数 同期処理 158 ドキュメントオブジェクト 32 トップレベル メソッド メタ文字 名前空間 名前の競合 文字コード モジュール ネストされた関数 文字列型 1 31 22 , 68 40 6 ノード 58 22 バース 22 配列 37 配列型 41 配列リテラル 42 ハック 86 ハッシュ の は ゆ す 32 2 1 6 XII よ 5 6 4 2 4 2 ら せ り そノた れ 5 5 5 2 6 6 4 3 2 9 2 ろ ちッっ一て 2 2 4 8 2 9 3 ほ 1 4 9 1 95 ] 29 と む め 38 80 72 な 43 も ね 1 88 22
著者紹介 ◎ 岡田克司 おかだかっし ・落丁・乱丁はお取り替えいたしますので、 03-5362-3705 までこ連絡くだ ずに、いかなる方法においても無断で複写、複製することを禁じます。 フトウェアおよびプログラムを含む ) 、株式会社翔泳社から文書による許諾を得 ・本書は著作権上の保護を受けています。本書の一部または全部について ( ソ ◎ 2008 KATSUSHI OKADA 印刷・製本日経印刷株式会社 (http://www.shoeisha. CO. jp/) 発行所株式会社翔泳社 発行人佐々木幹夫 著者岡田克司 2008 年 2 月 4 日初版第 1 刷発行 新 Jav Scri t 入 5 教室 1 日でおほえる DTP オペレーション有限会社テクスト ブックデザイン株式会社アレフ・ゼロ ( 宇田俊彦 / 鈴木住枝 ) http://www.shoeisha.com/book/hp/IOdays/ にて訂正内容をお知らせいたします。こ利用ください。 ドや本文の誤記などで訂正が発生した場合には、下記ホームページ 本書の内容確認には十分気を付けていますが、万一プログラムコー 「 1 0 日でおぼえる」のホームページ (2001 年 ) 、「逆引き JavaSc 「 ipt 」 ( 2003 年 ) ( いずれも工学社 ) など。 およびウクレレ演奏、写真、チェス、天体観測など。沖縄小林流空手 ] 級。主な著書に「基礎からの JavaSc 「 ipt 」 最近興味のあるテーマは集合知・データマイニングなど。趣味は旅行、オペラ鑑賞、映画鑑賞、三線 ( さんしん ) (SAS 、 RATS 、 Stata 、 Gauss) をはじめ、 SQL 、 PHP 、 VisuaI Basic 、 Java 、 C + + 、 VBA 、 RubY など。 サイトを作りはじめ、趣味が高じて独学で JavaSc 「 ipt を習得。プログラミング経験は専門の統計プログラミング 攻分野は計量経済学・国際経済学 ) 。現在アメリカ・カリフォルニア州べイエリア在住。 1 995 年から趣味で Web 愛知県生まれ。東京外国語大学卒業。大手銀行勤務を経てミシガン州立大学大学院へ留学 ( 経済学 Ph. D 課程 : 専 さい。 ・本書の内容に関するお問い合わせについては、 ンに従った方法でお願いします。 ー SBN978-4-7981-1434-7 オ : 書 ii / ヾ ージ記載のガイドライ P 「 inted in Japan